Ok update I have worked out this is partly my own stupidity and partly the Xin Mo's fault.
Basicly everything is inverted in some way shape or form.
The 2 sticks are inverted (P1 is actually P2 and visa versa) And also my p1 stick is inverted directionaly (Up is Down etc
Why the hell this is the way it is I do not know as I have wired them to the correct sides of the board of the Xin Mo etc so thats a bit confusing (Inverted wireing diagram maybe?)
Either way I have sorted all this out by inverting all the controls in retroarch and swapping out the odd inputs.
So all sorted :)